#ifndef __FFMPEG_VIDEO_QUEUE__
#define __FFMPEG_VIDEO_QUEUE__

#include <iostream>
#include <queue>

extern "C"
{
#include <pthread.h>
}

using namespace std;

//#define MAX_VIDEO_BUFFER_SIZE (1024*1024 * 3)

typedef struct
{
    unsigned char *buffer;
    //unsigned char buffer[MAX_VIDEO_BUFFER_SIZE];
    unsigned int buffer_size;
} video_data_packet;

class videoQueue
{
public:
    videoQueue();
    ~videoQueue();
    pthread_mutex_t queue_mutex;
    pthread_cond_t queue_cond;
    queue<video_data_packet *> video_queue;
    int putVideoDataToQueue(video_data_packet *video_packet);
    video_data_packet *getVideoDataFromQueue();
    int getVideoQueueSize();
};

#endif
